Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit fea9389a147d8f61510b47a12cfc9a09f55156b7


Parents : 20c0e10
Author : Sudo-Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-01-02T09:31:16-06:00

chore(ci): update build workflow to include Windows support and improve release asset handling

Changes

1 files changed, 28 insertions(+), 9 deletions(-)


Diff

diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml
index 6fd170cf..cb2b5016 100644
--- a/.gitea/workflows/build.yml
+++ b/.gitea/workflows/build.yml
@@ -71,7 +71,7 @@ jobs:
- name: Install system dependencies
run: |
sudo apt-get update
- sudo apt-get install -y patchelf libopusfile0 ffmpeg espeak-ng
+ sudo apt-get install -y patchelf libopusfile0 ffmpeg espeak-ng wine nsis
- name: Setup Task
uses: https://git.quad4.io/actions/setup-task@0ab1b2a65bc55236a3bc64cde78f80e20e8885c2 # v1
@@ -87,24 +87,38 @@ jobs:
- name: Build Python wheel
run: task wheel
- - name: Build Electron App (Universal)
- run: pnpm run dist-prebuilt
+ - name: Build Electron App (Linux)
+ run: task build-electron-linux
+
+ - name: Build Electron App (Windows)
+ run: task build-electron-windows
- name: Prepare release assets
run: |
mkdir -p release-assets
# Collect artifacts
find dist -type f \( -name "*-linux*.AppImage" -o -name "*-linux*.deb" \) -exec cp {} release-assets/ \;
+ find dist -type f \( -name "*-win*.exe" -o -name "*-win-portable*.exe" \) -exec cp {} release-assets/ \;
find python-dist -type f -name "*.whl" -exec cp {} release-assets/ \;
# Generate checksums
cd release-assets
- echo "## SHA256 Checksums" > release-body.md
- echo "" >> release-body.md
for file in *; do
- if [ -f "$file" ] && [ "$file" != "release-body.md" ] && [[ "$file" != *.sha256 ]]; then
+ if [ -f "$file" ] && [[ "$file" != *.sha256 ]]; then
sha256sum "$file" | tee "${file}.sha256"
- echo "\`$(cat "${file}.sha256")\`" >> release-body.md
+ fi
+ done
+
+ # Generate release notes (outside release-assets directory)
+ cd ..
+ echo "## SHA256 Checksums" > release-body.md
+ echo "" >> release-body.md
+ for file in release-assets/*; do
+ if [ -f "$file" ] && [[ "$file" != *.sha256 ]] && [[ "$file" != *release-body.md* ]]; then
+ filename=$(basename "$file")
+ if [ -f "release-assets/${filename}.sha256" ]; then
+ echo "\`$(cat "release-assets/${filename}.sha256")\`" >> release-body.md
+ fi
fi
done
@@ -129,8 +143,13 @@ jobs:
gitea_token: ${{ secrets.GITEA_TOKEN }}
title: ${{ steps.version.outputs.version }}
tag: ${{ steps.version.outputs.version }}
- files: "release-assets/*"
- bodyFile: "release-assets/release-body.md"
+ files: |
+ release-assets/*.AppImage
+ release-assets/*.deb
+ release-assets/*.exe
+ release-assets/*.whl
+ release-assets/*.sha256
+ body_path: "release-body.md"
draft: false
prerelease: false


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────